package common_classes;


import java.io.Serializable;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Hashtable;
import net.jini.core.event.RemoteEventListener;

public interface IMarketService extends Remote, Serializable {
	//the time that object is still alive after auction finishes
	static long TIME_DELAY_AFTER_AUCTION_FINISH = 180000L; // 3 mins
	public boolean receiveNewAuctionRequestFromProvider(AuctionPrimitiveData  auctionPrimitiveData, 
						RemoteEventListener remoteEventListener) throws RemoteException;
	
	public Hashtable<String, AuctionPrimitiveData> getCurrentActiveAuctions() throws RemoteException;
	
	public void setCheckPoint() throws RemoteException;
	
	public void restoreFromCheckPoint() throws RemoteException;
	
}
